//页面加载初始化方法
$(function() {
	// 加载数据平台信息
	init();
});
// 页面初始化调用方法
function init() {
	// 1.初始化Table
	var roleTable = new TableInit();
	roleTable.Init();
}
// 弹出注册审核页面
function edit() {
	var selectPlatforms = $("#platformTables").bootstrapTable('getSelections');
	if (selectPlatforms.length == 0) {
		var content = "请选择要注册审核的平台！";
		warning(content);
	} else{
		var platformIdRegStatus = selectPlatforms[0].platformIdRegStatus;
		if (platformIdRegStatus == "1") {
			var content = "只能选择未注册的平台进行注册审核！";
			warning(content);
		} else {
			var platformId1 = selectPlatforms[0].platformId;
			var platformIp1 = selectPlatforms[0].platformIp;
			var platformName1 = selectPlatforms[0].platformName;
			var platformRemark1 = selectPlatforms[0].platformRemark;
			var platformType1 = selectPlatforms[0].platformType;
			var platformIsBool1 = selectPlatforms[0].platformHasTestFunc;
			BootstrapDialog
					.show({
						title : '注册审核',
						message : $(
								"<form class='form-inline' style='height:400px'></form>")
								.load('platformEdit.html'),
						onshown : function() {
							// 初始化编辑框的值
							$("#platformId").val(platformId1);
							$("#platformIp").val(platformIp1);
							$("#platformName").val(platformName1);
							$("#platformRemark").val(platformRemark1);
							$("#platformType").val(platformType1);
							$("#platformIsBool").val(getIsSimualtionBoolStr(platformIsBool1));
							$("#platformIsBool option[value = '"+platformIsBool1+"']").attr('selected','selected');
						},
						buttons : [
								{
									icon : 'glyphicon glyphicon-check',
									label : '确定',
									cssClass : 'btn-primary',
									autospin : true,
									action : function(dialogRef) {
										var platformId = $("#platformId").val();
										var platformIp = $("#platformIp").val();
										var platformName = $("#platformName")
												.val();
										var platformRemark = $(
												"#platformRemark").val();
										platformIdRegStatus = "1";
										var ok = true;
										if (platformName == "") {
											ok = false;
											var content = "平台名称不能为空！";
											danger(content);
										}
										if (ok) {
											$.ajax({
														async : false,// 是否异步
														cache : false,// 是否使用缓存
														type : 'POST',// 请求方式：post
														data : {
															"platformId" : platformId,
															"platformIp" : platformIp,
															"platformName" : platformName,
															"platformRemark" : platformRemark,
															"platformIdRegStatus" : platformIdRegStatus,
															"platformType":$("#platformType").val(),
															"platformHasTestFunc":$("#platformIsBool").val()
														},
														dataType : 'json',// 数据传输格式：json
														url : "../../../platform/updatePlatformEdit",// 请求的action路径
														error : function() {
															// 请求失败处理函数
															danger("注册失败");
														},
														success : function(data) {
															if (data.flag == 0) {
																success("注册成功!");
																queryBytableId('platformTables');
															} else if (data.flag == 2) {
																warning("平台名称不能重复");
															} else {
																warning(data.errorInfo);
															}
														}
													});
										}
									}
								}, {
									label : '取消',
									action : function(dialogRef) {
										dialogRef.close();
									}
								} ]
					});
		}

	}

}

/**
 * 表格初始化
 */
var TableInit = function() {
	var oTableInit = new Object();
	// 初始化Table
	oTableInit.Init = function() {
		$('#platformTables').bootstrapTable({
			url : '../../../platform/getPlatformInfoList', // 请求后台的URL（*）
			method : "POST",
			contentType : "application/x-www-form-urlencoded",
			toolbar : '#toolbar',
			striped : true, // 是否显示行间隔色
			cache : false, // 是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
			pagination : true, // 是否显示分页（*）
			sortable : true, // 是否启用排序
			checkboxHeader : false,// 是否显示表头的全选
			queryParamsType : "undefined", // 默认limit
			queryParams : oTableInit.queryParams,// 传递参数（*）
			sidePagination : "server", // 分页方式：client客户端分页，server服务端分页（*）
			pageNumber : 1, // 初始化加载第一页，默认第一页
			pageSize : 10, // 每页的记录行数（*）
			pageList : [ 10, 25, 50, 100 ], // 可供选择的每页的行数（*）
			sortName : "PLATFORM_NAME",
			sortOrder : "DESC",
			search : false, // 是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
			strictSearch : true,
			showColumns : true, // 是否显示所有的列
			minimumCountColumns : 2, // 最少允许的列数
			clickToSelect : true, // 是否启用点击选中行
			height : 500, // 行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
			uniqueId : "platformId", // 每一行的唯一标识，一般为主键列
			showToggle : true, // 是否显示详细视图和列表视图的切换按钮
			cardView : false, // 是否显示详细视图
			detailView : false,
			singleSelect:true,
			onLoadSuccess:function(){
	            $('.bootstrap-table tr td').each(function () {
	                $(this).attr("title", $(this).text());
	                $(this).css("cursor", 'pointer');
	            });
	        },
			responseHandler : function(res) {
				return getTableData(res);
			},
			columns : [ {
				title : '选择',
				checkbox : true
			}, {
				field : 'platformId',
				title : '平台ID',
				width : 100
			}, {
				field : 'platformName',
				title : '平台名称',
				width : 200,
				cellStyle:{ 
					css:{ 
					"overflow": "hidden", 
					"text-overflow": "ellipsis", 
					"white-space": "nowrap" 
					} 
				},
				sortable : true,// 是否可排序
				order : "DESC"// 默认排序方式
			}, {
				field : 'platformIp',
				title : '平台IP',
				width : 100
			},{
				field : 'serverPort',
				title : '端口号',
				width : 100
			} , {
				field : 'platformStatus',
				title : '平台状态',
				formatter:platformStatus,
				width : 100
			}, {
				field : 'platformType',
				title : '平台类型',
				width : 100
			}, {
				field : 'platformHasTestFunc',
				title : '具备仿真功能',
				formatter:testFun,
				width : 100
			},{
				field : 'platformRemark',
				title : '平台备注',
				width: 200,
				cellStyle:{ 
					css:{ 
					"overflow": "hidden", 
					"text-overflow": "ellipsis", 
					"white-space": "nowrap" 
					} 
				}
			}, {
				field : 'platformIdRegStatus',
				title : '注册状态',
				formatter : status,
				width : 100
			},{
				field : 'platformUserName',
				title : '使用人',
				width : 100
			},{
				field : 'startTime',
				title : '开始时间',
				width : 150,
				cellStyle:{ 
					css:{ 
					"overflow": "hidden", 
					"text-overflow": "ellipsis", 
					"white-space": "nowrap" 
					} 
				}
			},{
				field : 'endTime',
				title : '结束时间',
				width : 150,
				cellStyle:{ 
					css:{ 
					"overflow": "hidden", 
					"text-overflow": "ellipsis", 
					"white-space": "nowrap" 
					} 
				}
			},{
				field : 'remoteStatus',
				title : '远程状态',
				width : 100
			} ]
		});
	};
	function platformStatus(value){
		if(value=="0"){
			return "空闲";
		}else if(value=="1"){
			return "自动测试中";
		}else if(value=="2"){
			return "手工测试中";
		}else if(value=="3"){
			return "仿真测试中";
		}else{
			return "未知";
		}
	}
	function testFun(value, row, index) {
		if (row['platformHasTestFunc'] == "0") {
			return "否";
		} else {
			return "是";
		}
	}
	function status(value, row, index) {
		if (row['platformIdRegStatus'] == "0") {
			return "未注册";
		} else {
			return "已注册";
		}
	}
	// 得到查询的参数
	oTableInit.queryParams = function(params) {
		var temp = { // 这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的pageSize,
			// pageNumber, searchText, sortName, sortOrder
			pageSize : params.pageSize, // 页面大小
			pageNumber : params.pageNumber, // 页码
			sortName : "PLATFORM_NAME",
			sortOrder : params.sortOrder,
			platformId : $("#platformIdSearch").val(),
			platformName : $("#platformNameSearch").val(),
			platformIdRegStatus : $("#platformIdRegStatus").val()
		};
		return temp;
	};
	return oTableInit;
};

function getIsSimualtionBool(str){
	var num = 0;
	if(str == "否"){
		num = 0;
	}else{
		num = 1;
	}
	return num;
}
function getIsSimualtionBoolStr(num){
	var str = "否";
	if(num == 0){
		str = "否";
	}else{
		str = "否";
	}
	return str;
}

//删除平台
//删除
function delectPlatform(){
	var clientReg = $("#platformTables").bootstrapTable('getSelections');
	if (clientReg.length == 0) {
		warning("请选择要删除的平台!");
	} else{
			BootstrapDialog.show({
				title : '删除',
				message : $("<form class='form-inline' style='height:45px'></form>").load(
						'clientRegEdit.html'),
				onshown : function() {
					// 初始化编辑框的值
					$("#shzc").html("");
					$("#shzc").html("是否确定删除!");
				},
				buttons : [ {
					icon : 'glyphicon glyphicon-check',
					label : '确定',
					cssClass : 'btn-primary',
					autospin : true,
					action : function(dialogRef) {
						console.log(clientReg[0].platformId);
						$.ajax({
							async : false,// 是否异步
							cache : false,// 是否使用缓存
							type : 'POST',// 请求方式：post
							data : {
								"id" : clientReg[0].platformId
							},
							dataType : 'json',// 数据传输格式：json
							url : "../../../platform/delete",// 请求的action路径
							error : function(data) {
								// 请求失败处理函数
								var content = "删除失败!";
								danger(content);
							},
							success : function(data) {
								if (data.flag == 0) {
									var content = "删除成功!";
									success(content);
									queryBytableId('platformTables');
								} else {
									var content = data.errorInfo;
									danger(content);
								}
							}
						});
					}
				}, {
					label : '取消',
					action : function(dialogRef) {
						dialogRef.close();
					}
				} ]
			});
	}

}
/**
 * 释放平台占用
 * @returns
 */
function releasePlatform(){
	var selectPlatforms = $("#platformTables").bootstrapTable('getSelections');
	if (selectPlatforms.length == 0) {
	    warning("请选择要释放的平台!");
	}else if(selectPlatforms[0].platformStatus=="0"){
		warning("当前平台已是空闲状态无需此操作!");
	} else{
			BootstrapDialog.show({
				title : '解除占用',
				message : $("<form class='form-inline' style='height:45px'></form>").load(
						'clientRegEdit.html'),
				onshown : function() {
					// 初始化编辑框的值
					$("#shzc").html("");
					$("#shzc").html("是否确定释放该平台,释放后其他人可以使用该平台!");
				},
				buttons : [ {
					icon : 'glyphicon glyphicon-check',
					label : '确定',
					cssClass : 'btn-primary',
					autospin : true,
					action : function(dialogRef) {
						$.ajax({
							async : false,// 是否异步
							cache : false,// 是否使用缓存
							type : 'POST',// 请求方式：post
							data : {
								"id" : selectPlatforms[0].platformId
							},
							dataType : 'json',// 数据传输格式：json
							url : "../../../platform/releasePlatform",// 请求的action路径
							error : function(data) {
								// 请求失败处理函数
								var content = "释放平台失败!";
								danger(content);
							},
							success : function(data) {
								if (data.flag == 0) {
									success("释放平台成功");
									queryBytableId('platformTables');
								} else {
									var content = data.errorInfo;
									danger(content);
								}
							}
						});
					}
				}, {
					label : '取消',
					action : function(dialogRef) {
						dialogRef.close();
					}
				} ]
			});
	}
}
function awake(){
	var selectPlatforms = $("#platformTables").bootstrapTable('getSelections');
	if (selectPlatforms.length == 0) {
	  warning("请选择要唤醒的平台!");	
	} else {
		if (selectPlatforms.length == 1) {
			var platformId = selectPlatforms[0].platformId;
			$.ajax({
				url: "../../../manualTest/changeDYStatus",
				type: "post",
				data: {
					action: "awake",
					platformId: platformId
				},
				success: function (result) {
					if (result.flag == 0) {
						//发送命令成功
						info("发送唤醒命令成功！");
					} else {
						warning("发送唤醒命令失败！");
					}
				},
				error: function () {
					danger("发送唤醒命令失败！");
				}
			});
		} 
	}
}